package com.atguigu1.core.operator

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 *
 * @description: xxx
 * @time: 2021-03-12 18:13
 * @author: baojinlong 
 **/
object Spark01Map {

  /**
   * 也可以写在方法里面
   *
   * @param inputNum
   * @return
   */
  def mapFunction(inputNum: Int): Int = {
    inputNum * 2
  }

  def main(args: Array[String]): Unit = {
    val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("rdd")
    val sparkContext = new SparkContext(conf)
    val rdd: RDD[Int] = sparkContext.makeRDD(List(1, 2, 3, 4))
    val resultRdd: RDD[Int] = rdd.map(mapFunction)
    resultRdd.collect().foreach(println)

    rdd.map((item: Int) => {
      item * 2
    })
    rdd.map((item: Int) => item * 2)
    rdd.map(item => item * 2)
    // 参数在函数逻辑中只出现一次而且按照顺序出现
    rdd.map(_ * 2).collect().foreach(println)
    sparkContext.stop()
  }

}
